<!doctype html>
<html> 
 <head> 
  <meta charset="utf-8"> 
  <title>Layui 底层方法</title> 
  <meta name="renderer" content="webkit"> 
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 
  <meta name="apple-mobile-web-app-status-bar-style" content="black"> 
  <meta name="apple-mobile-web-app-capable" content="yes"> 
  <meta name="format-detection" content="telephone=no"> 
  <link rel="stylesheet" href="/layui/dist/css/layui.css" media="all"> 
  <link rel="stylesheet" href="/static/css/global.css" media="all"> 
 </head> 
 <body> 
  <div class="layui-header header header-doc"> 
   <div class="layui-container"> <a class="logo" href="/index.html"> <img src="/static/images/layui/logo.png" alt="layui"> </a> 
    <div class="layui-form layui-hide-xs component" lay-filter="LAY-site-header-component"></div> 
    <div class="layui-hide-xs site-notice"></div> 
    <ul class="layui-nav" id="LAY_NAV_TOP"> 
     <li class="layui-nav-item layui-this"> <a href="/doc/index.html">文档</a> </li> 
     <li class="layui-nav-item "> <a href="/demo/index.html">示例</a> </li> 
     <li class="layui-nav-item"> <a href="javascript:;"> <!--<span class="layui-badge-dot" style="left:0; right: auto; margin: -4px 0 0 5px;"></span>--> 周边 </a> 
      <dl class="layui-nav-child layui-nav-child-c"> 
       <dd class="layui-hide-sm layui-show-xs" lay-unselect> <a href="https://gitee.com/sentsin/layui/issues" target="_blank" rel="nofollow">问题反馈</a> 
        <hr> 
       </dd> 
       <dd lay-unselect>
        <a href="/alone.html" target="_blank" lay-unselect>独立组件</a>
       </dd> 
       <dd lay-unselect>
        <a href="/extend/" target="_blank">扩展组件</a>
       </dd> 
      </dl> </li> 
     <li class="layui-nav-item layui-hide-xs"> <a href="//gitee.com/sentsin/layui/issues" target="_blank" rel="nofollow">反馈</a> </li> 
    </ul> 
   </div> 
  </div> <!-- 让IE8/9支持媒体查询，从而兼容栅格 --> <!--[if lt IE 9]>
  <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
  <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]--> 
  <ul class="site-dir"> 
   <li><a href="#config"><cite>全局配置</cite><em>config</em></a></li> 
   <li><a href="#define"><cite>定义模块</cite><em>define</em></a></li> 
   <li><a href="#use"><cite>加载模块</cite><em>use</em></a></li> 
   <li><a href="#link"><cite>动态加载 CSS</cite><em>link</em></a></li> 
   <li><a href="#data"><cite>本地存储</cite><em>data</em></a></li> 
   <li><a href="#device"><cite>浏览器信息</cite><em>device</em></a></li> 
   <li><a href="#other"><cite>其它底层方法</cite> <span class="layui-badge-dot"></span></a></li> 
   <li><a href="#third_party"><cite>第三方工具</cite></a></li> 
  </ul> 
  <div class="layui-container layui-row"> 
   <div class="layui-col-md3"> 
    <div class="layui-panel site-menu"> 
     <ul class="layui-menu layui-menu-lg"> 
      <li class="layui-menu-item-group" lay-options="{type: 'group', isAllowSpread: true}"> 
       <div class="layui-menu-body-title">
         基础说明 
       </div> 
       <hr> 
       <ul> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/index.html"> <span>开始使用 </span> <span class="layui-font-12 layui-font-gray">Getting Started</span> </a> 
         </div> </li> 
        <li class="layui-menu-item-checked2"> 
         <div class="layui-menu-body-title"> <a href="/doc/base/infrastructure.html"> <span>底层方法 </span> <span class="layui-font-12 layui-font-gray">基础支撑</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/base/element.html"> <span>页面元素 </span> <span class="layui-font-12 layui-font-gray">规范 公共类 属性</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/base/modules.html"> <span>模块规范 </span> <span class="layui-font-12 layui-font-gray">使用 扩展</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/base/faq.html"> <span>常见问题 </span> <span class="layui-font-12 layui-font-gray">FAQ</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/base/changelog.html"> <span>更新日志 </span> <span class="layui-font-12 layui-font-gray">changelog</span> <span class="layui-badge-dot"></span> </a> 
         </div> </li> 
       </ul> </li> 
      <li class="layui-menu-item-group" lay-options="{type: 'group', isAllowSpread: true}"> 
       <div class="layui-menu-body-title">
         页面元素 
       </div> 
       <hr> 
       <ul> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/layout.html"> <span>布局 </span> <span class="layui-font-12 layui-font-gray">栅格 后台管理布局</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/color.html"> <span>颜色 </span> <span class="layui-font-12 layui-font-gray">主色调 颜色搭配</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/icon.html"> <span>图标 </span> <span class="layui-font-12 layui-font-gray">iconfont 字体图标</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/anim.html"> <span>动画 </span> <span class="layui-font-12 layui-font-gray">内置 CSS3 动画</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/button.html"> <span>按钮 </span> <span class="layui-font-12 layui-font-gray">button</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/form.html"> <span>表单 </span> <span class="layui-font-12 layui-font-gray">form 元素集合</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/nav.html"> <span>导航 </span> <span class="layui-font-12 layui-font-gray">nav 面包屑</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/menu.html"> <span>菜单 </span> <span class="layui-font-12 layui-font-gray">menu 基础菜单</span> <span class="layui-badge-dot"></span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/tab.html"> <span>选项卡 </span> <span class="layui-font-12 layui-font-gray">Tabs 切换</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/progress.html"> <span>进度条 </span> <span class="layui-font-12 layui-font-gray">progress</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/panel.html"> <span>面板 </span> <span class="layui-font-12 layui-font-gray">panel 卡片 折叠</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/table.html"> <span>表格 </span> <span class="layui-font-12 layui-font-gray">静态 table</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/badge.html"> <span>徽章 </span> <span class="layui-font-12 layui-font-gray">小圆点 小边框</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/timeline.html"> <span>时间线 </span> <span class="layui-font-12 layui-font-gray">timeline</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/element/auxiliar.html"> <span>辅助 </span> <span class="layui-font-12 layui-font-gray">引用 字段集 横线等</span> </a> 
         </div> </li> 
       </ul> </li> 
      <li class="layui-menu-item-group" lay-options="{type: 'group', isAllowSpread: true}"> 
       <div class="layui-menu-body-title">
         内置模块 
       </div> 
       <hr> 
       <ul> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/layer.html"> <span>弹出层 </span> <span class="layui-font-12 layui-font-gray">layer</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/laydate.html"> <span>日期与时间选择 </span> <span class="layui-font-12 layui-font-gray">laydate</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/laypage.html"> <span>分页 </span> <span class="layui-font-12 layui-font-gray">laypage</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/laytpl.html"> <span>模板引擎 </span> <span class="layui-font-12 layui-font-gray">laytpl</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/table.html"> <span>数据表格 </span> <span class="layui-font-12 layui-font-gray">table</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/form.html"> <span>表单 </span> <span class="layui-font-12 layui-font-gray">form</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/upload.html"> <span>文件上传 </span> <span class="layui-font-12 layui-font-gray">upload</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/dropdown.html"> <span>下拉菜单 </span> <span class="layui-font-12 layui-font-gray">dropdown</span> <span class="layui-badge-dot"></span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/transfer.html"> <span>穿梭框 </span> <span class="layui-font-12 layui-font-gray">transfer</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/tree.html"> <span>树形组件 </span> <span class="layui-font-12 layui-font-gray">tree</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/colorpicker.html"> <span>颜色选择器 </span> <span class="layui-font-12 layui-font-gray">colorpicker</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/element.html"> <span>常用元素操作 </span> <span class="layui-font-12 layui-font-gray">element</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/slider.html"> <span>滑块 </span> <span class="layui-font-12 layui-font-gray">slider</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/rate.html"> <span>评分 </span> <span class="layui-font-12 layui-font-gray">rate</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/carousel.html"> <span>轮播 </span> <span class="layui-font-12 layui-font-gray">carousel</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/flow.html"> <span>流加载 </span> <span class="layui-font-12 layui-font-gray">flow</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/util.html"> <span>工具组件 </span> <span class="layui-font-12 layui-font-gray">util</span> </a> 
         </div> </li> 
        <li class=""> 
         <div class="layui-menu-body-title"> <a href="/doc/modules/code.html"> <span>代码高亮显示 </span> <span class="layui-font-12 layui-font-gray">code</span> </a> 
         </div> </li> 
       </ul> </li> 
     </ul> 
    </div> 
    <div class="layui-hide-v">
      - 
    </div> 
   </div> 
   <div class="layui-col-md9 site-content"> 
    <h1 class="site-h1">底层方法</h1> 
    <blockquote class="layui-elem-quote"> 
     <p>本篇主要介绍基础库所发挥的作用，其中过滤了大部分在外部不常用的方法，侧重罗列了基础框架支撑。</p> 
    </blockquote> 
    <div class="site-title"> 
     <fieldset>
      <legend><a name="config">全局配置</a></legend>
     </fieldset> 
    </div> 
    <div class="site-text"> 
     <p>方法：<em>layui.config(options)</em></p> 
     <p>你可以在使用模块之前，全局化配置一些参数，尽管大部分时候它不是必须的。所以我们目前提供的全局配置项非常少，这也是为了减少一些不必要的工作，尽可能让使用变得更简单。目前支持的全局配置项如下：</p> 
     <pre class="layui-code">layui.config({
  dir: '/res/layui/' //layui.js 所在目录（<span style="color: #FF5722">如果是 script 单独引入 layui.js，无需设定该参数</span>）一般可无视
  ,version: false //一般用于更新模块缓存，默认不开启。设为 true 即让浏览器不缓存。也可以设为一个固定的值，如：201610
  ,debug: false //用于开启调试模式，默认 false，如果设为 true，则JS模块的节点会保留在页面
  ,base: '' //设定扩展的 layui 模块的所在目录，一般用于外部模块扩展
});
      </pre> 
     <p>如果你对 layui.js 本身进行了动态加载等其他特殊场景，那么上述<code>layui.config</code> 所设定的<code>dir</code>参数会因此失效，它会在部分组件的依赖文件（css）加载后才执行，此时你可以在动态加载 <code>layui.js</code> 之前预先定义一个我们约定好的全局对象：</p> 
     <pre class="layui-code">&lt;script&gt;  
var LAYUI_GLOBAL = {
  dir: '/res/layui/' //layui.js 所在目录（<span class="layui-font-red">layui 2.6.6 开始新增</span>）
};
&lt;/script&gt;    
      </pre> 
     <blockquote class="layui-elem-quote layui-text">
       提示：以上 dir 参数的目录设定仅针对特殊场景，如是采用 script 标签正常引入 layui 的，可以无视该 dir 参数。 
     </blockquote> 
    </div> 
    <div class="site-title"> 
     <fieldset>
      <legend><a name="define">定义模块</a></legend>
     </fieldset> 
    </div> 
    <div class="site-text"> 
     <p>方法：<em>layui.define([mods], callback)</em></p> 
     <p>通过该方法可在新的 JS 文件中定义一个 <em>layui 模块</em>。参数 mods 是可选的，用于声明该模块所依赖的模块。callback 即为模块加载完毕的回调函数，它返回一个 exports 参数，用于输出该模块的接口。</p> 
     <pre class="layui-code">/** demo.js **/
layui.define(function(exports){
  //do something
  
  exports('demo', {
    msg: 'Hello Demo'
  });
});
      </pre> 
     <p> 跟 RequireJS 最大不同的地方在于接口输出，exports 是一个函数，它接受两个参数，第1个参数为模块名，第2个参数为模块接口。 <br>当你声明了上述的一个模块后，你就可以在外部使用了，demo 就会注册到 layui 对象下，即可通过 <code>var demo = layui.demo</code> 去得到该模块接口。你也可以在定义一个模块的时候，声明该模块所需的依赖，如：</p> 
     <pre class="layui-code">/** demo.js **/
layui.define(['layer', 'laypage', 'mod1'], function(exports){ //此处 mod1 为你的任意扩展模块
  //do something
  
  exports('demo', {
    msg: 'Hello Demo'
  });
});
      </pre> 
     <p>上述的 <code>layer、laypage</code> 都是 layui 的内置模块。</p> 
    </div> 
    <div class="site-title"> 
     <fieldset>
      <legend><a name="use">加载模块</a></legend>
     </fieldset> 
    </div> 
    <div class="site-text"> 
     <p>方法：<em>layui.use([mods], callback)</em></p> 
     <div class="layui-text"> 
      <ul> 
       <li> 参数 <em>mods</em>：如果填写，必须是一个 layui 合法的模块名（不能包含目录）。 <br><span class="layui-font-red">从 layui 2.6 开始</span>，若 mods 不填，只传一个 callback 参数，则表示引用所有内置模块。 </li> 
       <li> 参数 <em>callback</em>：即为模块加载完毕的回调函数。 <br><span class="layui-font-red">从 layui 2.6 开始</span>，该回调会在 html 文档加载完毕后再执行，确保你的代码在任何地方都能对元素进行操作。 </li> 
      </ul> 
     </div> 
     <pre class="layui-code">//引用指定模块
layui.use(['layer', 'laydate'], function(){
  var layer = layui.layer
  ,laydate = layui.laydate;
  
  //do something
});
 
//<span class="layui-font-red">引用所有模块（layui 2.6 开始支持）</span>
layui.use(function(){
  var layer = layui.layer
  ,laydate = layui.laydate
  ,table = layui.table;
  //…
  
  //do something
});
      </pre> 
     <p>你还可以通过回调函数得到模块对象，如</p> 
     <pre class="layui-code">//通过回调的参数得到模块对象
layui.use(['layer', 'laydate', 'table'], function(layer, laydate, table){
  
  //使用 layer
  layer.msg('test');
  
  //使用 laydate
  laydate.render({});
  
  //使用 table
  table.render({})
});
      </pre> 
     <p> </p>
    </div> <!--<div class="site-title">
      <fieldset><legend><a name="all">加载完整内置模块</a></legend></fieldset>
    </div>
    <div class="site-text">
      <p>方法：<em>layui.all(callback)</em></p>
      <p>除了使用use方法加载特定需要的模块，Layui实际上还提供了构建后的完整版模块，它是一个合并的文件，通过all方法即可加载，目前它只有<em>150kb</em>上下，gzip后只有<em>50kb</em>，所以说这是一个比较小的资源（可见Layui是多么的轻灵）。如果你的页面需要大量用到layui的许多模块，我们推荐你使用该方法，同时他也只会产生一个资源请求，简单粗暴又省事，实为懒人所必备之神器也！</p>
      <pre class="layui-code">
/**
  my.js
  依赖layui的全部模块
**/
 
layui.all(function(){
  var layer = layui.layer
  ,laytpl = layui.laytpl
  ,laypage = layui.laypage
  ,laydate = layui.data
  //……
 
  //尽情地使用Layui全部的内置模块吧，妈妈说根本不用去想页面可能要用到什么模块了呢。。
});
      </pre>
      <blockquote class="layui-elem-quote layui-quote-nm">
        不过，我们并不十分推荐你采用该方式，因为如果你要用到全部内置模块，还不如直接采用：<a href="/doc/#simple">非模块化方式</a>
      </blockquote>
    </div>--> 
    <div class="site-title"> 
     <fieldset>
      <legend><a name="link">动态加载 CSS</a></legend>
     </fieldset> 
    </div> 
    <div class="site-text"> 
     <p>方法：<em>layui.link(href)</em></p> 
     <p>href 即为 css 路径。注意：该方法并非是你使用 layui 所必须的，它一般只是用于动态加载你的外部 CSS 文件。</p> 
    </div> 
    <div class="site-title"> 
     <fieldset>
      <legend><a name="data">本地存储</a></legend>
     </fieldset> 
    </div> 
    <div class="site-text"> 
     <p>本地存储是对 localStorage 和 sessionStorage 的友好封装，可更方便地管理本地数据。</p> 
     <blockquote class="layui-elem-quote layui-quote-nm layui-text"> 
      <ul> 
       <li>localStorage 持久化存储：<em>layui.data(table, settings)，数据会永久存在，除非物理删除。</em></li> 
       <li>sessionStorage 会话性存储：<em>layui.sessionData(table, settings)</em>，页面关闭后即失效。注：<em>layui 2.2.5 新增</em></li> 
      </ul> 
     </blockquote> 
     <p>上述两个方法的使用方式是完全一样的。其中参数 <em>table</em> 为表名，<em>settings</em>是一个对象，用于设置 key、value。下面以 layui.data 方法为例： </p>
     <pre class="layui-code">//【增】：向 test 表插入一个 nickname 字段，如果该表不存在，则自动建立。
layui.data('test', {
  key: 'nickname'
  ,value: '贤心'
});
 
//【删】：删除 test 表的 nickname 字段
layui.data('test', {
  key: 'nickname'
  ,remove: true
});
layui.data('test', null); //删除test表
  
//【改】：同【增】，会覆盖已经存储的数据
  
//【查】：向 test 表读取全部的数据
var localTest = layui.data('test');
console.log(localTest.nickname); //获得“贤心”
      </pre> 
    </div> 
    <div class="site-title"> 
     <fieldset>
      <legend><a name="device">获取浏览器信息</a></legend>
     </fieldset> 
    </div> 
    <div class="site-text"> 
     <p>方法：<em>layui.device(key)</em>，参数 key 是可选的</p> 
     <p>由于 layui 的一些功能进行了兼容性处理和响应式支持，因此该方法同样发挥了至关重要的作用。其返回的信息如下：</p> 
     <pre class="layui-code">var device = layui.device();
 
//device 即可根据不同的设备返回下述不同的信息
<pre class="layui-code" lay-skin="notepad">{
  os: "windows" //当前浏览器所在的底层操作系统，如：Windows、Linux、Mac 等
  ,ie: false //当前浏览器是否为 ie6-11 的版本，如果不是 ie 浏览器，则为 false
  ,weixin: false //当前浏览器是否为微信 App 环境
  ,android: false //当前浏览器是否为安卓系统环境
  ,ios: false //当前浏览器是否为 IOS 系统环境
  ,mobile: false //当前浏览器是否为移动设备环境（v2.5.7 新增）
}
</pre>
      </pre> 
     <p> 有时你的 App 可能会对 userAgent 插入一段特定的标识，譬如： </p>
     <blockquote class="layui-elem-quote layui-quote-nm" style="color: #999;">
       Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 <a>myapp/1.8.6</a> Safari/537.36 
     </blockquote> 
     <p></p> 
     <p>你要验证当前的 WebView 是否在你的 App 环境，即可通过上述的<em>myapp</em>（即为 Native 给 Webview 插入的标识，可以随意定义）来判断。</p> 
     <pre class="layui-code">var device = layui.device('myapp');
if(device.myapp){
  alert('在我的App环境');
}      
      </pre> 
    </div> 
    <div class="site-title"> 
     <fieldset>
      <legend><a name="other">其它底层方法</a></legend>
     </fieldset> 
    </div> 
    <div class="site-text"> 
     <p>除上述介绍的方法外，layui 内部还提供了许多底层引擎，他们同样是整个 layui 框架的有力支撑，在日常应用中通常也会用到：</p> 
     <table class="layui-table"> 
      <thead> 
       <tr> 
        <th style="width: 280px;">方法/属性</th> 
        <th>描述</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr> 
        <td>layui.cache</td> 
        <td>静态属性。获得一些配置及临时的缓存信息</td> 
       </tr> 
       <tr> 
        <td>layui.extend(options)</td> 
        <td>拓展一个模块别名，如：layui.extend({test: '/res/js/test'})</td> 
       </tr> 
       <tr> 
        <td>layui.each(obj, fn)</td> 
        <td>对象（Array、Object、DOM 对象等）遍历，可用于取代 for 语句</td> 
       </tr> 
       <tr> 
        <td>layui._typeof(operand)</td> 
        <td> 获取详细数据类型（基本数据类型和各类常见引用类型）如： <p> <code>layui._typeof([]); //array</code> <code>layui._typeof({}); //object</code> <code>layui._typeof(new Date()); //date</code>等等。 </p> <span class="layui-font-red">该方法为 layui 2.6.7 新增</span> </td> 
       </tr> 
       <tr> 
        <td>layui._isArray(obj)</td> 
        <td> 对象是否为泛数组结构。如 Array、NodeList、jQuery 对象等等。 <p> <code>layui._isArray([1,6]); //true</code> <code>layui._isArray($('div')); //true</code> <code>layui._isArray(document.querySelectorAll('div')); //true</code> </p> <span class="layui-font-red">该方法为 layui 2.6.7 新增</span> </td> 
       </tr> 
       <tr> 
        <td>layui.getStyle(node, name)</td> 
        <td> 获得一个原始 DOM 节点的 style 属性值，如： <br><code>layui.getStyle(document.body, 'font-size')</code> </td> 
       </tr> 
       <tr> 
        <td>layui.img(url, callback, error)</td> 
        <td>图片预加载</td> 
       </tr> 
       <tr> 
        <td>layui.sort(obj, key, desc)</td> 
        <td> 将数组中的对象按某个成员重新对该数组排序，如： <br><code>layui.sort([{a: 3},{a: 1},{a: 5}], 'a')</code> </td> 
       </tr> 
       <tr> 
        <td>layui.router()</td> 
        <td>获得 location.hash 路由结构，一般在单页面应用中发挥作用。</td> 
       </tr> 
       <tr> 
        <td>layui.url(href)</td> 
        <td> 用于将一段 URL 链接中的 pathname、search、hash 属性值进行对象化处理 <p> 参数： <em>href</em> 可选。若不传，则自动读取当前页面的 url（即：location.href） <br>示例：<code>var url = layui.url();</code> </p> </td> 
       </tr> 
       <tr> 
        <td>layui.hint()</td> 
        <td> 向控制台打印一些异常信息，目前只返回了 error 方法： <br><code>layui.hint().error('出错啦');</code> </td> 
       </tr> 
       <tr> 
        <td>layui.stope(e)</td> 
        <td>阻止事件冒泡</td> 
       </tr> 
       <tr> 
        <td>layui.onevent(modName, events, callback)</td> 
        <td>增加自定义模块事件。有兴趣的同学可以阅读 layui.js 源码以及 form 模块</td> 
       </tr> 
       <tr> 
        <td>layui.event(modName, events, params)</td> 
        <td>执行自定义模块事件，搭配 onevent 使用</td> 
       </tr> 
       <tr> 
        <td>layui.off(events, modName)</td> 
        <td> 用于移除模块相关事件的监听（v2.5.7 新增） <p style="line-height:26px;"> 如：<code>layui.off('select(filter)', 'form')</code>， <br>那么 <code>form.on('select(filter)', callback)</code>的事件将会被移除。 </p> </td> 
       </tr> 
       <tr> 
        <td>layui.factory(modName)</td> 
        <td>用于获取模块对应的 define 回调函数</td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 
    <div class="site-title"> 
     <fieldset>
      <legend><a name="third_party">第三方工具</a></legend>
     </fieldset> 
    </div> 
    <div class="site-text"> 
     <p>layui <strong>部分模块</strong>依赖<em> jQuery</em>（比如 layer），但是你并不用去额外加载 jQuery。layui 已经将 jQuery 最稳定的一个版本改为 layui 的内部模块，当你去使用 layer 之类的模块时，它会首先判断你的页面是否已经引入了 jQuery，如果没有，则加载内部的 jQuery 模块，如果有，则不会加载。</p> 
     <p>另外，我们的图标取材于阿里巴巴矢量图标库（<em>iconfont</em>），构建工具采用<em> Gulp </em>。除此之外，不依赖于任何第三方工具。</p> 
    </div> 
    <div class="layui-elem-quote"> 
     <p>layui - 在每一个细节中，用心与你沟通</p> 
    </div> 
   </div> 
  </div> 
  <div class="layui-footer footer footer-doc"> 
   <p> Copyright © 2021 <a href="/index.html">layui.itmtr.cn</a> MIT Licensed</p> 
   <p> </p>
  </div> 
  <script>
window.global = {
  pageType: 'doc'
  ,preview: function(){
    var preview = document.getElementById('LAY_preview');
    return preview ? preview.innerHTML : '';
  }()
};
</script> 
  <div class="site-tree-mobile layui-hide"> <i class="layui-icon layui-icon-spread-left"></i> 
  </div> 
  <div class="site-mobile-shade"></div> 
  <script src="/layui/dist/layui.js" charset="utf-8"></script> 
  <script>
layui.config({
  base: '/static/lay/modules/layui/'
  ,version: '1632659138225'
}).use('global');
</script> 
  <script>
</script>  
 </body>
<script src="/common/common.js"></script>
</html>